import { http } from '@/utils/request'
import type { ConfigList, ConfigParams, QueryParams } from './type'

const prefix = import.meta.env.VITE_API_SYS
// 查询参数列表
export function listConfig(params: QueryParams & Page) {
	return http.get<ResPage<ConfigList[]>>(`${prefix}/config/list`, params)
}

// 查询参数详细
export function getConfig(configId: number) {
	return http.get<ConfigList>(`${prefix}/config/${configId}`)
}

// 根据参数键名查询参数值
export function getConfigKey(configKey: string) {
	return http.get(`${prefix}/config/configKey/${configKey}`)
}

// 新增参数配置
export function addConfig(data: ConfigParams) {
	return http.post(`${prefix}/config`, data)
}

// 修改参数配置
export function updateConfig(data: ConfigParams) {
	return http.put(`${prefix}/config`, data)
}

// 删除参数配置
export function delConfig(configId: string) {
	return http.delete(`${prefix}/config/${configId}`)
}

// 刷新参数缓存
export function refreshCache() {
	return http.delete(`${prefix}/config/refreshCache`)
}

// 导出
export function configExport(data: QueryParams & Page) {
	return http.postFile<ExportResponse>(`${prefix}/config/export`, data, {
		headers: {
			'Content-Type': 'application/x-www-form-urlencoded'
		},
		responseType: 'blob'
	})
}
